package com.hyf.util;

import com.hyf.bean.User;

import mapper.UserMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class UserTest {
    SqlSession session;
    UserMapper mapper;
    @Before //所有测试方法执行之前执行
    public  void before() {
        //加载mybatis核心配置文件创建SqlSessionFactory对象
        SqlSessionFactory factory = MyBatisUtil.getSqlSessionFactory();
        // 获取SqlSession对象，自动提交事务用它来执行sql
        session = factory.openSession(true);
        //调用session的getMapper方法获取namespace的名字
        mapper = session.getMapper(UserMapper.class);
    }
    @After  //所有测试方法执行之后执行
    public void after () {
             session.close();
     }
    //mybatis缓存  在第一次查询操作后 如果没有进行修改操作 会将结果存储在缓存中为后续查询使用
    //为了提高查询的效率降低数据库操作的损耗 默认开启一级缓存
    //一级缓存存储在当前会话中
    @Test
    public void selectAll(){
        //打印测试
        for (User user : mapper.selectAll()) {
            System.out.println(user);
        }
        }
        @Test
    public void selectAllUser_Role() {
        for (User user :mapper.selectAllUser_Role()) {
            System.out.println(user);
        }
    }





}
